package com.shelpe.services.simbasync.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.shelpe.services.simbasync.model.Creatives;
import com.shelpe.services.simbasync.model.RptAdgroupCreative;


public interface CreativesService {
	
	public List<Creatives> getCreativeList(List<Long> creativeIds, Long adGroupId);
	
	public int addCreative(Creatives creative);
	
	public int addCreativeList(List<Creatives> creatives);
	
	public int deleteCreative(Creatives ad);
	
	public int deleteCreativeList(List<Creatives> adList);
	
	public int updateCreative(Creatives ad);
	
	public int updateCreativeList(List<Creatives> adList);
	
	public int addRptCreatives(RptAdgroupCreative rpt);
	
	public int deleteRptCreativesByDateRange(List<Long> adgroupIds, Date startDate, Date endDate);
	
	public int addRptCreativesList(List<RptAdgroupCreative> rptList);
	
	public int insertRptCreativeBatch(List<RptAdgroupCreative> rptList);
	
	public Date getLastTimeFromRpt(long userId, long campaignId, long adgroupId);

	public List<Creatives> parseJsonToCreatives(String response);
	
	public void updateCreativesData(long userId, List<Creatives> list);
	
	public Map<String, List<Creatives> > splitCreatives(List<Creatives> newList, List<Creatives> oldList);
	
	public List<RptAdgroupCreative> parseJsonToRptAdgroupCreativeBase(String response);
	
	public int combineRptAdgroupCreativeEffect(String response, Map<String, Integer> lastDayRecord, List<RptAdgroupCreative> list);
	
	public void updateRptAdgroupCreativeData(long userId, List<RptAdgroupCreative> list);

	
}